$(document).ready(function () {
  initForm()
})

// 保存
function saveBtn() {
  let formData = $('#formData').serializeArray()
  console.log('formData', formData);
  console.log('校验', validate('#formData'));
}

// 取消
function cancleBtn() {
  // let form = document.getElementById('formData')
  // form.reset()
  // initForm()
}

// init 表单
function initForm() {
  // 表单下拉选项JSON
  var selectJosn = [{
      name: 'signNation',
      elId: '#signNation',
      defaultValue: [1],
      tips: '请选择',
      data: [{
          name: '国内',
          value: 1
        },
        {
          name: '国外',
          value: 2
        }
      ],
      callback: function (data) {
        //arr:  当前已选中的数据
        var arr = data.arr;
        //change, 此次选择变化的数据,数组
        var change = data.change;
        //isAdd, 此次操作是新增还是删除
        var isAdd = data.isAdd;
  
        if (!isAdd) {
          arr.push(change[0])
        }
      }
    }
  ]

  for (var i = 0; i < selectJosn.length; i++) {
    var item = selectJosn[i];
    initSelect(item)
  }

  // 校验
  $('#formData').bootstrapValidator({
    message: 'This value is not valid',
    feedbackIcons: {
      valid: 'glyphicon glyphicon-ok',
      invalid: 'glyphicon glyphicon-remove',
      validating: 'glyphicon glyphicon-refresh'
    },
    fields: {
      // 名称校验
      unitName: {
        validators: {
          notEmpty: {
            message: '单位名称不能位空！'
          },
          // regexp: {
          //   regexp: /^[\u0391-\uFFE5A-Za-z]+$/,
          //   message: '购机者名称请输入中文或字母！'
          // }
        }
      },
      // 身份证号校验
      idCrad: {
        validators: {
          notEmpty: {
            message: ' '
          },
          callback: {
            message: '请输入正确的身份证号！',
            callback: function (value, validator) {
              return isIdCard(value)
            }
          }
        }
      }
    }
  });
}
// init 表单下拉相关
function initSelect(data) {
  xmSelect.render({
    name: data.name, // 表单提交时的 name
    el: data.elId,
    tips: data.tips,
    radio: true, // 是否开启单选
    clickClose: true, // 是否在选择完毕之后关闭下拉菜单
    theme: {
      color: '#409eff',
    },
    model: {
      icon: 'hidden',
      label: {
        type: 'text',
        block: {
          //最大显示数量, 0:不限制
          showCount: 10,
          //是否显示删除图标
          showIcon: false,
        }
      }
    },
    initValue: data.defaultValue,
    data: data.data,
    on: data.callback
  })
}

// 验证
function validate(id) {
  $(id).data('bootstrapValidator').validate()
  $(id).bootstrapValidator('validate');

  var ispass = false
  ispass = $(id).data('bootstrapValidator').isValid()

  if (!ispass) {
    //没有通过校验
    console.log('未通过');
  } else {
    //通过校验，可进行提交等操作
    console.log('已通过');
  }

  return ispass
}

// 添加相关方法
// init 添加弹窗
function initAddDialog() {
  var selectJosn = {
    name: 'documentType',
    elId: '#documentType',
    defaultValue: [1],
    tips: '请选择',
    data: [{
        name: '身份证号码',
        value: 1
      },
      {
        name: '其他证件号码',
        value: 2
      }
    ],
    callback: function (data) {
      //arr:  当前已选中的数据
      var arr = data.arr;
      //change, 此次选择变化的数据,数组
      var change = data.change;
      //isAdd, 此次操作是新增还是删除
      var isAdd = data.isAdd;

      if (!isAdd) {
        arr.push(change[0])
      }
    }
  }
  initSelect(selectJosn)
}

// 添加从业人员
function addPersonnel() {
  initAddDialog()
}